* ncbifile.cpp (s_GetFileSystemInfo): Formally cast st.f_type to avoid
narrowing errors for cases with the high bit set when that field is
a 32-bit signed integer (as on i386).
Aaron M. Ucko [Thu, 15 Dec 2016 03:44:19 +0000 (22:44 -0500)]
Hang on to sequence data even if -parse_deflines recognized a non-local ID,
on the condition that the environment variable BLAST_ALWAYS_KEEP_SEQUENCE
(or configuration parameter [BLAST] always_keep_sequence) is set to a
"true" value (English-only, case-insensitive true, t, yes, y, or 1).
Aaron M. Ucko [Thu, 2 Dec 2021 03:08:16 +0000 (22:08 -0500)]
suppress gnu TLS and mbed TLS version checks
Prevent bailing when the exact compile-time and runtime GNU TLS versions
differ; trust dpkg to disallow combinations that are actually incompatible.
Likewise for mbed TLS.
avoid redundant rpath entries on multiarch systems
* src/build-system/configure(.ac): when ensuring that executables
will be able to find libstdc++, don't add rpath entries that files
under /etc/ld.so.conf.d already specify, even if they don't resemble
traditional single-architecture or biarch locations.
Debian-Bug: 633567.
Author: Aaron M. Ucko <ucko@debian.org>
Last-Update: 2011-08-28
ensure that all libraries link against all direct dependencies
* src/**/Makefile.*.lib: set DLL_(D)LIB correctly. Break the dependency
loop between libxblast and libxalgoblastdbindex by having the former
provide only the C++ BLAST API, leaving the C core only in libblast.
* src/build-system/library_relations.txt: Change xblast's
relationship to blast from includes to needs, accordingly.
* src/algo/blast/Makefile.blast_macros.mk: Add blast to BLAST_LIBS.
* src/algo/blast/dbindex*/*/Makefile.*.app: Link against libxconnect
rather than libconnect for consistency with libblast, which uses the
former to keep the aforementioned cycle-breaking from causing
inconsistency elsewhere.
Debian-Bug: 633567.
Author: Aaron M. Ucko <ucko@debian.org>
Last-Update: 2016-12-05
fix portability issues that led to Hurd build failures
* src/build-system/configure(.ac):
- Reflect the Hurd's support for -Wl,rpath,... .
* src/connect/ncbi_socket_cxx.cpp, src/connect/ext/ncbi_localnet.c:
cope with missing PATH_MAX everywhere, not just under Windows.
Author: Aaron M. Ucko <ucko@debian.org>
Last-Update: 2020-09-19
Aaron M. Ucko [Thu, 16 Oct 2025 20:10:18 +0000 (16:10 -0400)]
Stick with software CRC-32C on 32-bit ARM (#1117022).
* debian/control: Restrict armv8crc-support dependency to arm64.
* debian/patches/zcf-simde-crc32c: Leave CFLAGS alone on 32-bit ARM;
adjustments aren't actually worthwhile there and would have needed to
go further on armhf, on which (at least under GCC) ARMv8 targets
additionally need +simd. (Closes: #1117022.)
Aaron M. Ucko [Wed, 1 Oct 2025 18:43:26 +0000 (14:43 -0400)]
ncbi-blast+ 2.17.0+ds-2: Fix ZCF CRC32C logistics with SIMDE help.
* debian/control:
- Additionally build-depend on libsimde-dev.
- Require CRC support on ARM per upstream.
* debian/patches/zcf-simde-crc32c (new): Replace Cloudflare deflate.c's
fallbackless architecture-dependent code with a SIMDE invocation that
amounts to the same thing on supported architectures and to a portable
fallback elsewhere.
* Cover zlib_cloudflare alongside (unused) zlib, accounting for the
fork's additional copyright holders and years.
* Cover (unused) PCRE2's sljit subtree; factor out BSD-2-clause for it.
* Stop mentioning the retired extra copy of lmdb++.h.
* Enumerate cityhash and farmhash explicitly to allow for *-only
wildcarding without pulling in murmurhash.
debian/patches: Update for new release, mostly formally.
* debian/patches/series: Comment out support_mbedtls3, allow_pcre2,
and fix_bm_for_gcc15, all incorporated upstream.
* debian/patches/system_mbedtls_only: Drop code changes (incorporated
upstream) and port Makefile.connssl.lib's changes.
Aaron M. Ucko [Sun, 4 May 2025 02:20:25 +0000 (22:20 -0400)]
Build against VDB where available (amd64/arm64/x32) (#1100037).
* debian/control: Build-depend on libncbi-vdb-dev where available.
* debian/rules: Build against (packaged!) VDB where available, using
logic cribbed from ncbi-igblast.
Aaron M. Ucko [Wed, 7 Aug 2024 01:37:02 +0000 (21:37 -0400)]
Reinstate big-endian builds, with default blastdb_version 4.
* debian/control: Reinstate big-endian builds, which can be salvaged
adequately well.
* debian/patches/big_endian_workaround (new): On big-endian
architectures, roll makeblastdb's and makeprofiledb's default
blastdb_version back to 4 pending a proper fix. Some things,
including in particular q2-feature-classifier, will still explicitly
request version 5, but everything else should be OK. (See #1077777.)
Aaron M. Ucko [Sun, 4 Aug 2024 19:56:43 +0000 (15:56 -0400)]
d/control: Forbid builds for big-endian archs, at least for now.
They nominally succeed, but two dependent autopkgtests (for cct and
kleborate) have started failing on s390x, and there's no evidence that
other BE architectures fare any better. (See #1077777.)
* debian/control: Stop building against 2to3, which may not be around
much longer.
* debian/patches/allow_pcre2 (new): Allow use of PCRE2.
* debian/rules: Drop build-time 2to3 invocation in favor of
debian/patches/2to3.
debian/patches/series: Comment out reprobuild (overkill).
I'm all for reproducibility, but the package already automatically
builds with flags that make __FILE__ relative, and many of its uses
are in header-defined macros that intend to pick up their callers'
paths.
Tune flags: Add --without-strip to make --with-symbols effective;
switch off warnings from __DATE__/__TIME__ usage, since
dpkg-buildpackage's SOURCE_DATE_EPOCH injection should suffice.
Move debian/patches/system_mbedtls_only up and extend it.
* debian/patches/series: Move system_mbedtls_only up in conjunction
with incorporating part of an upstream patch needed by
support_mbedtls3.
* debian/patches/system_mbedtls: Extend to cover ncbi_mbedtls.c (as in
https://github.com/ncbi/ncbi-cxx-toolkit-public/commit/f9c7297dd1)
and Makefile.xxconnect2.lib.